package com.wgh.pay.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 对账报表VO类
 */
@Data
public class ReconciliationReportVO {

    /**
     * 开始日期
     */
    private Date startDate;

    /**
     * 结束日期
     */
    private Date endDate;

    /**
     * 总订单数
     */
    private Integer totalOrderCount;

    /**
     * 总支付金额
     */
    private BigDecimal totalPayAmount;

    /**
     * 成功对账订单数
     */
    private Integer successOrderCount;

    /**
     * 成功对账金额
     */
    private BigDecimal successPayAmount;

    /**
     * 差异订单数
     */
    private Integer diffOrderCount;

    /**
     * 差异金额
     */
    private BigDecimal diffAmount;

    /**
     * 按支付方式统计
     */
    private List<PayTypeSummary> payTypeSummaries;

    /**
     * 按日期统计
     */
    private List<DateSummary> dateSummaries;

    /**
     * 支付方式统计
     */
    @Data
    public static class PayTypeSummary {
        private Integer payType;
        private String payTypeName;
        private Integer orderCount;
        private BigDecimal payAmount;
        private Integer diffCount;
        private BigDecimal diffAmount;
    }

    /**
     * 日期统计
     */
    @Data
    public static class DateSummary {
        private Date date;
        private Integer orderCount;
        private BigDecimal payAmount;
        private Integer diffCount;
        private BigDecimal diffAmount;
    }
}